#!/bin/bash

sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --remove-all cpp


sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/cpp cpp /usr/bin/cpp-9 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-9 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-9 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9 --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-9 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-9
#sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/cpp cpp /usr/bin/cpp-10 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-10 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-10 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10 --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-10 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-10
#sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/cpp cpp /usr/bin/cpp-11 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-11 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-11 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-11 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/cpp cpp /usr/bin/cpp-12 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-12 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-12 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-12 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/cpp cpp /usr/bin/cpp-13 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-13 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-13 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13 --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-13 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-13
#sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 14 --slave /usr/bin/g++ g++ /usr/bin/g++-14 --slave /usr/bin/cpp cpp /usr/bin/cpp-14 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-14 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-14 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-14 --slave /usr/bin/gcov gcov /usr/bin/gcov-14 --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-14 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-14